﻿
using System;
using UnityEngine;

namespace QPEngine
{
    public class AppConst
    {
        public const string StreamingAssetsName = "StreamingAssets";
        public const string AssetBundleExtendName = ".unity3d";
        public const string AndroidPlatformName = "Android";
        public const string iOSPlatformName = "iOS";
        public const string WindowsPlatformName = "Windows";
        public const string WinUnityEditor = "WinUnityEditor";
        public const string MacPlatformName = "Mac";
        public const string MacUnityEditor = "MacUnityEditor";


        public const int CodeVersion = 101;
        public const int TimerInterval = 1;
        public const string Nil = "null";
        public const string CSConfigerName = "CSConfiger.txt";
        public const string InstallFileName = "InstallFile.txt";
        public const string ConstCode = "1F8W9QX1FP1M7G6Z3A72Q2E7U";


        public static CSConfiger csConfiger = new CSConfiger();
        public static ValueConfiger valueConfiger = new ValueConfiger();
        public static UpdateConfiger updateConfiger = new UpdateConfiger();
        public static AppInfoConfiger appInfoConfiger = new AppInfoConfiger();

        public static AppInstallConfiger appInstallConfiger = new AppInstallConfiger();

        //自己的属性
        public static string AppName { get { return Application.identifier; } }
        public static string HotUpdateDirectoryName { get { return SkinVersionName + Util.SkinVersion; } }
        public static string Version { get { return Application.version; } }
        public static bool ExampleMode { get { return true; } }
        public static bool AutoWrapMode { get { return true; } }
        public static string AppInstallTime { get; set; }
        public static string WebUrl { get; set; }
        public static bool DebugMode{ get; set; }

        public static string ip { get; set; }

        //访问的配置属性
        public static int FPS { get { return csConfiger.FPS; } set { csConfiger.FPS = value; } }
        public static int UrlCheckOutTimer { get { return csConfiger.UrlCheckOutTimer; } set { csConfiger.UrlCheckOutTimer = value; } }
        public static int SocketOutTimer { get { return csConfiger.SocketOutTimer; } set { csConfiger.SocketOutTimer = value; } }
        public static int ResetGameTimer { get { return csConfiger.ResetGameTimer; } set { csConfiger.ResetGameTimer = value; } }

        public static int ResourcePort { get { return csConfiger.ResourcePort; } set { csConfiger.ResourcePort = value; } }
        public static int ResourcePortRange { get { return csConfiger.ResourcePortRange; } set { csConfiger.ResourcePortRange = value; } }

        public static int DnsCheckOutTime { get { return csConfiger.DnsCheckOutTime; } set { csConfiger.DnsCheckOutTime = value; } }


        public static bool HomeKey { get { return csConfiger.HomeKey; } set { csConfiger.HomeKey = value; } }

        public static bool SaveLogMode { get { return csConfiger.SaveLogMode; } set { csConfiger.SaveLogMode = value; } }

        public static string[] DNS { get { return csConfiger.DNS; } set { csConfiger.DNS = value; } }
        public static string CdnDirectoryName { get { return csConfiger.CdnDirectoryName; } set { csConfiger.CdnDirectoryName = value; } }

        public static bool FileNameEncryption { get { return csConfiger.FileNameEncryption; } set { csConfiger.FileNameEncryption = value; } }


        public static string SkinVersionName { get { return csConfiger.SkinVersionName; } set { csConfiger.SkinVersionName = value; } }

        public static string GameAssetDirectoryName { get { return csConfiger.GameAssetDirectoryName; } set { csConfiger.GameAssetDirectoryName = value; } }

        public static string UpdateConfigerName { get { return csConfiger.UpdateConfigerName; } set { csConfiger.UpdateConfigerName = value; } }

        public static string AppInfoConfigerName { get { return csConfiger.AppInfoConfigerName; } set { csConfiger.AppInfoConfigerName = value; } }

        public static string ValueConfigerName { get { return csConfiger.ValueConfigerName; } set { csConfiger.ValueConfigerName = value; } }

        public static string AppInstallConfigerName { get { return csConfiger.AppInstallConfigerName; } set { csConfiger.AppInstallConfigerName = value; } }

        public static string GameEnterConfigerName { get { return csConfiger.GameEnterConfigerName; } set { csConfiger.GameEnterConfigerName = value; } }


        public static string AuthCode { get { return csConfiger.AuthCode; } set { csConfiger.AuthCode = value; } }


    }
}
